Repository navigation
Update mimalloc to 3.6.0 - #28068
Update mimalloc to 3.6.0#28068kleisauke wants to merge 10 commits into
Conversation
This reverts commit 4ec8fa3.
Details: AssertionError: 271412 not less than 260000
Details: AssertionError: 213520 not less than 200000
Handy for debugging.
|
This time we needed to do more than what was done previously in #28026 (comment), i.e.:
Tested with: $ ./test/runner {core2,wasmfs,wasm64_4gb}.test_wrap_malloc_mimalloc other.test_malloc_size_mimalloc* other.test_malloc_multithreading_mimalloc* other.test_mimalloc_headers
Running 8 tests
Using 8 parallel test processes
[8/8] test_malloc_size_mimalloc_O2 (test_other.other.test_malloc_size_mimalloc_O2) ... ok
----------------------------------------------------------------------
Ran 8 tests in 1.141s
OK
Total core time: 4.017s. Wallclock time: 1.141s. Parallelization: 3.52x. |
There was a problem hiding this comment.
Code Review
This pull request updates mimalloc to version 3.6.0, introducing a major refactoring of the internal headers and source files into structured subdirectories. Key enhancements include a new pprof-compatible heap profiler, support for quiescent state-based reclamation (QSBR), better cache-line-aware allocations, improved fork support, and various bug fixes. Regarding the feedback, a potential false positive was identified in the mismatched delete operator check within free.c for small allocations with large alignments; adding a check to ensure the page does not have interior pointers would resolve this issue.
sbc100
left a comment
There was a problem hiding this comment.
Why revert microsoft/mimalloc@80d6e71 (e076497)?
I think that commit only makes sense when an application/library includes mimalloc as a dependency, not for the dedicated emscripten/system/lib/mimalloc/src/alloc/alloc-override.c Lines 396 to 402 in 33abff6 FWIW, there are some design notes here explaining why mimalloc is built on top of emmalloc: emscripten/system/lib/mimalloc/src/prim/emscripten/prim.c Lines 17 to 46 in 33abff6 |
No description provided.